// CodeGear C++Builder
// Copyright (c) 1995, 2015 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'ocv.legacy.pas' rev: 30.00 (Windows)

#ifndef Ocv_LegacyHPP
#define Ocv_LegacyHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <ocv.core.types_c.hpp>
#include <ocv.imgproc.types_c.hpp>
#include <ocv.compat.hpp>

//-- user supplied -----------------------------------------------------------

namespace Ocv
{
namespace Legacy
{
//-- forward type declarations -----------------------------------------------
struct TCvInput;
struct TCvImgObsInfo;
struct TCvEHMMState;
struct TCvEHMM;
struct TCvStereoLineCoeff;
struct TCvCamera;
struct TCvStereoCamera;
struct TCvContourOrientation;
struct TCvContourTree;
struct DECLSPEC_DRECORD TCvGLCM
{
};


struct TCvStereoGCState;
struct TCvBGStatModel;
struct TCvFGDStatModelParams;
struct TCvGaussBGStatModelParams;
struct TCvGaussBGValues;
struct TCvGaussBGPoint;
struct TCvGaussBGModel;
struct TCvBGCodeBookElem;
struct TCvBGCodeBookModel;
struct DECLSPEC_DRECORD TCvFaceTracker
{
};


struct TCv3dTracker2dTrackedObject;
struct TCv3dTrackerTrackedObject;
struct TCv3dTrackerCameraInfo;
struct TCv3dTrackerCameraIntrinsics;
struct TCV_VORONOISITE2D_FIELDS;
struct TCvVoronoiSite2D;
struct TCV_VORONOIEDGE2D_FIELDS;
struct TCvVoronoiEdge2D;
struct TCvVoronoiNode2D;
struct TCV_VORONOINODE2D_FIELDS;
struct TCV_VORONOIDIAGRAM2D_FIELDS;
struct TCvVoronoiDiagram2D;
struct TCvMatrix3;
struct TCvConDensation;
//-- type declarations -------------------------------------------------------
typedef int __cdecl (*TCvCallback)(int index, void * buffer, void * user_data);

struct DECLSPEC_DRECORD TCvInput
{
	
public:
	union
	{
		struct 
		{
			void *data;
		};
		struct 
		{
			TCvCallback callback;
		};
		
	};
};


typedef TCvImgObsInfo *pCvImgObsInfo;

struct DECLSPEC_DRECORD TCvImgObsInfo
{
public:
	int obs_x;
	int obs_y;
	int obs_size;
	float *obs;
	int *state;
	int *mix;
};


typedef TCvImgObsInfo TCv1DObsInfo;

typedef pCvImgObsInfo pCv1DObsInfo;

typedef TCvEHMMState *pCvEHMMState;

struct DECLSPEC_DRECORD TCvEHMMState
{
public:
	int num_mix;
	float *mu;
	float *inv_var;
	float *log_var_val;
	float *weight;
};


typedef TCvEHMM *pCvEHMM;

typedef System::StaticArray<System::PSingle, 1> TObsProb;

typedef TObsProb *pObsProb;

struct DECLSPEC_DRECORD TCvEHMM
{
public:
	int level;
	int num_states;
	float *transP;
	TObsProb *obsProb;
	
public:
	System::Byte u;
	union
	{
		struct 
		{
			TCvEHMM *ehmm;
		};
		struct 
		{
			TCvEHMMState *state;
		};
		
	};
};


typedef TCvStereoLineCoeff *pCvStereoLineCoeff;

struct DECLSPEC_DRECORD TCvStereoLineCoeff
{
public:
	double Xcoef;
	double XcoefA;
	double XcoefB;
	double XcoefAB;
	double Ycoef;
	double YcoefA;
	double YcoefB;
	double YcoefAB;
	double Zcoef;
	double ZcoefA;
	double ZcoefB;
	double ZcoefAB;
};


typedef TCvCamera *pCvCamera;

struct DECLSPEC_DRECORD TCvCamera
{
public:
	System::StaticArray<float, 2> imgSize;
	System::StaticArray<float, 9> matrix;
	System::StaticArray<float, 4> distortion;
	System::StaticArray<float, 9> rotMatr;
	System::StaticArray<float, 3> transVect;
};


typedef TCvStereoCamera *pCvStereoCamera;

struct DECLSPEC_DRECORD TCvStereoCamera
{
public:
	System::StaticArray<pCvCamera, 2> camera;
	System::StaticArray<float, 9> fundMatr;
	System::StaticArray<Ocv::Core::Types_c::TCvPoint3D32f, 2> epipole;
	System::StaticArray<System::StaticArray<Ocv::Core::Types_c::TCvPoint2D32f, 4>, 2> quad;
	System::StaticArray<System::StaticArray<System::StaticArray<double, 3>, 3>, 2> coeffs;
	System::StaticArray<System::StaticArray<Ocv::Core::Types_c::TCvPoint2D32f, 4>, 2> border;
	Ocv::Core::Types_c::TCvSize warpSize;
	TCvStereoLineCoeff *lineCoeffs;
	int needSwapCameras;
	System::StaticArray<float, 9> rotMatrix;
	System::StaticArray<float, 3> transVector;
};


typedef TCvContourOrientation *pCvContourOrientation;

struct DECLSPEC_DRECORD TCvContourOrientation
{
public:
	System::StaticArray<float, 2> egvals;
	System::StaticArray<float, 4> egvects;
	float max;
	float min;
	int imax;
	int imin;
};


typedef TCvContourTree *pCvContourTree;

struct DECLSPEC_DRECORD TCvContourTree
{
public:
	Ocv::Core::Types_c::TCV_SEQUENCE_FIELDS CV_SEQUENCE_FIELDS;
	Ocv::Core::Types_c::TCvPoint p1;
	Ocv::Core::Types_c::TCvPoint p2;
};


typedef TCvGLCM *pCvGLCM;

typedef NativeUInt *pCvSubdiv2DEdge;

typedef NativeUInt TCvSubdiv2DEdge;

typedef int TCvSubdiv2DPointLocation;

typedef int TCvNextEdgeType;

typedef TCvStereoGCState *pCvStereoGCState;

struct DECLSPEC_DRECORD TCvStereoGCState
{
public:
	int Ithreshold;
	int interactionRadius;
	float K;
	float lambda;
	float lambda1;
	float lambda2;
	int occlusionCost;
	int minDisparity;
	int numberOfDisparities;
	int maxIters;
	Ocv::Core::Types_c::TCvMat *left;
	Ocv::Core::Types_c::TCvMat *right;
	Ocv::Core::Types_c::TCvMat *dispLeft;
	Ocv::Core::Types_c::TCvMat *dispRight;
	Ocv::Core::Types_c::TCvMat *ptrLeft;
	Ocv::Core::Types_c::TCvMat *ptrRight;
	Ocv::Core::Types_c::TCvMat *vtxBuf;
	Ocv::Core::Types_c::TCvMat *edgeBuf;
};


typedef TCvBGStatModel *pCvBGStatModel;

typedef pCvBGStatModel *ppCvBGStatModel;

typedef void __cdecl (*TCvReleaseBGStatModel)(pCvBGStatModel &bg_model);

typedef int __cdecl (*TCvUpdateBGStatModel)(Ocv::Core::Types_c::pIplImage curr_frame, pCvBGStatModel bg_model, double learningRate);

struct DECLSPEC_DRECORD TCvBGStatModel
{
public:
	int _type;
	TCvReleaseBGStatModel release;
	TCvUpdateBGStatModel update;
	Ocv::Core::Types_c::TIplImage *background;
	Ocv::Core::Types_c::TIplImage *foreground;
	Ocv::Core::Types_c::TIplImage *layers;
	int layer_count;
	Ocv::Core::Types_c::TCvMemStorage *storage;
	Ocv::Core::Types_c::TCvSeq *foreground_regions;
};


typedef TCvFGDStatModelParams *pCvFGDStatModelParams;

struct DECLSPEC_DRECORD TCvFGDStatModelParams
{
public:
	int Lc;
	int N1c;
	int N2c;
	int Lcc;
	int N1cc;
	int N2cc;
	int is_obj_without_holes;
	int perform_morphing;
	float alpha1;
	float alpha2;
	float alpha3;
	float delta;
	float T;
	float minArea;
};


typedef TCvGaussBGStatModelParams *pCvGaussBGStatModelParams;

struct DECLSPEC_DRECORD TCvGaussBGStatModelParams
{
public:
	int win_size;
	int n_gauss;
	double bg_threshold;
	double std_threshold;
	double minArea;
	double weight_init;
	double variance_init;
};


typedef TCvGaussBGValues *pCvGaussBGValues;

struct DECLSPEC_DRECORD TCvGaussBGValues
{
public:
	int match_sum;
	double weight;
	System::StaticArray<double, 3> variance;
	System::StaticArray<double, 3> mean;
};


typedef TCvGaussBGPoint *pCvGaussBGPoint;

struct DECLSPEC_DRECORD TCvGaussBGPoint
{
public:
	TCvGaussBGValues *g_values;
};


typedef TCvGaussBGModel *pCvGaussBGModel;

struct DECLSPEC_DRECORD TCvGaussBGModel
{
public:
	int _type;
	TCvReleaseBGStatModel release;
	TCvUpdateBGStatModel update;
	Ocv::Core::Types_c::TIplImage *background;
	Ocv::Core::Types_c::TIplImage *foreground;
	Ocv::Core::Types_c::TIplImage *layers;
	int layer_count;
	Ocv::Core::Types_c::TCvMemStorage *storage;
	Ocv::Core::Types_c::TCvSeq *foreground_regions;
	TCvGaussBGStatModelParams params;
	TCvGaussBGPoint *g_point;
	int countFrames;
	void *mog;
};


typedef TCvBGCodeBookElem *pCvBGCodeBookElem;

struct DECLSPEC_DRECORD TCvBGCodeBookElem
{
public:
	TCvBGCodeBookElem *next;
	int tLastUpdate;
	int stale;
	System::StaticArray<System::Byte, 3> boxMin;
	System::StaticArray<System::Byte, 3> boxMax;
	System::StaticArray<System::Byte, 3> learnMin;
	System::StaticArray<System::Byte, 3> learnMax;
};


typedef TCvBGCodeBookModel *pCvBGCodeBookModel;

struct DECLSPEC_DRECORD TCvBGCodeBookModel
{
public:
	Ocv::Core::Types_c::TCvSize size;
	int T;
	System::StaticArray<System::Byte, 3> cbBounds;
	System::StaticArray<System::Byte, 3> modMin;
	System::StaticArray<System::Byte, 3> modMax;
	TCvBGCodeBookElem *cbmap;
	Ocv::Core::Types_c::TCvMemStorage *storage;
	TCvBGCodeBookElem *freeList;
};


typedef System::StaticArray<System::StaticArray<double, 3>, 3> TicvConvertWarpCoordinatesCoeff;

typedef System::StaticArray<System::StaticArray<double, 2>, 4> TicvGetQuadsTransformQuad;

typedef TCvFaceTracker *pCvFaceTracker;

typedef System::Byte TCvBool;

typedef TCv3dTracker2dTrackedObject *pCv3dTracker2dTrackedObject;

struct DECLSPEC_DRECORD TCv3dTracker2dTrackedObject
{
public:
	int id;
	Ocv::Core::Types_c::TCvPoint2D32f p;
};


typedef TCv3dTrackerTrackedObject *pCv3dTrackerTrackedObject;

struct DECLSPEC_DRECORD TCv3dTrackerTrackedObject
{
public:
	int id;
	Ocv::Core::Types_c::TCvPoint3D32f p;
};


typedef TCv3dTrackerCameraInfo *pCv3dTrackerCameraInfo;

struct DECLSPEC_DRECORD TCv3dTrackerCameraInfo
{
public:
	System::Byte valid;
	System::StaticArray<System::StaticArray<float, 4>, 4> mat;
	Ocv::Core::Types_c::TCvPoint2D32f principal_point;
};


typedef TCv3dTrackerCameraIntrinsics *pCv3dTrackerCameraIntrinsics;

struct DECLSPEC_DRECORD TCv3dTrackerCameraIntrinsics
{
public:
	Ocv::Core::Types_c::TCvPoint2D32f principal_point;
	System::StaticArray<float, 2> focal_length;
	System::StaticArray<float, 4> distortion;
};


enum DECLSPEC_DENUM TCvLeeParameters: char { CV_LEE_INT, CV_LEE_FLOAT, CV_LEE_DOUBLE, CV_LEE_AUTO = -1, CV_LEE_ERODE, CV_LEE_ZOOM, CV_LEE_NON };

typedef TCvVoronoiSite2D *pCvVoronoiSite2D;

typedef TCvVoronoiEdge2D *pCvVoronoiEdge2D;

typedef TCvVoronoiNode2D *pCvVoronoiNode2D;

struct DECLSPEC_DRECORD TCV_VORONOISITE2D_FIELDS
{
public:
	System::StaticArray<pCvVoronoiNode2D, 2> node;
	System::StaticArray<pCvVoronoiEdge2D, 2> edge;
};


struct DECLSPEC_DRECORD TCvVoronoiSite2D
{
public:
	TCV_VORONOISITE2D_FIELDS CV_VORONOISITE2D_FIELDS;
	System::StaticArray<pCvVoronoiSite2D, 2> next;
};


struct DECLSPEC_DRECORD TCV_VORONOIEDGE2D_FIELDS
{
public:
	System::StaticArray<pCvVoronoiNode2D, 2> node;
	System::StaticArray<pCvVoronoiSite2D, 2> site;
	System::StaticArray<pCvVoronoiEdge2D, 4> next;
};


struct DECLSPEC_DRECORD TCvVoronoiEdge2D
{
public:
	TCV_VORONOIEDGE2D_FIELDS CV_VORONOIEDGE2D_FIELDS;
};


struct DECLSPEC_DRECORD TCvVoronoiNode2D
{
public:
	Ocv::Core::Types_c::TCV_SET_ELEM_FIELDS__1<TCvVoronoiNode2D> CV_SET_ELEM_FIELDS;
	Ocv::Core::Types_c::TCvPoint2D32f pt;
	float radius;
};


struct DECLSPEC_DRECORD TCV_VORONOINODE2D_FIELDS
{
public:
	Ocv::Core::Types_c::TCV_SET_ELEM_FIELDS__1<TCvVoronoiNode2D> CV_SET_ELEM_FIELDS;
	Ocv::Core::Types_c::TCvPoint2D32f pt;
	float radius;
};


struct DECLSPEC_DRECORD TCV_VORONOIDIAGRAM2D_FIELDS
{
public:
	Ocv::Core::Types_c::TCV_GRAPH_FIELDS CV_GRAPH_FIELDS;
	Ocv::Core::Types_c::TCvSet *sites;
};


typedef TCvVoronoiDiagram2D *pCvVoronoiDiagram2D;

struct DECLSPEC_DRECORD TCvVoronoiDiagram2D
{
public:
	TCV_VORONOIDIAGRAM2D_FIELDS CV_VORONOIDIAGRAM2D_FIELDS;
};


typedef System::StaticArray<Ocv::Core::Types_c::TCvPoint2D32f, 4> TcvInitPerspectiveTransformVertex;

typedef System::StaticArray<System::StaticArray<double, 3>, 3> TcvInitPerspectiveTransformMatrix;

typedef TCvMatrix3 *pCvMatrix3;

struct DECLSPEC_DRECORD TCvMatrix3
{
public:
	System::StaticArray<System::StaticArray<float, 3>, 3> m;
};


typedef TCvConDensation *pCvConDensation;

struct DECLSPEC_DRECORD TCvConDensation
{
public:
	int MP;
	int DP;
	float *DynamMatr;
	float *state;
	int SamplesNum;
	System::PSingle *flSamples;
	System::PSingle *flNewSamples;
	float *flConfidence;
	float *flCumulative;
	float *Temp;
	float *RandomSample;
	Ocv::Compat::TCvRandState *RandS;
};


//-- var, const, procedure ---------------------------------------------------
static const System::Int8 CV_EIGOBJ_NO_CALLBACK = System::Int8(0x0);
static const System::Int8 CV_EIGOBJ_INPUT_CALLBACK = System::Int8(0x1);
static const System::Int8 CV_EIGOBJ_OUTPUT_CALLBACK = System::Int8(0x2);
static const System::Int8 CV_EIGOBJ_BOTH_CALLBACK = System::Int8(0x3);
static const System::Int8 CV_DOMINANT_IPAN = System::Int8(0x1);
static const System::Int8 CV_CAMERA_TO_WARP = System::Int8(0x1);
static const System::Int8 CV_WARP_TO_CAMERA = System::Int8(0x2);
static const System::Int8 CV_VALUE = System::Int8(0x1);
static const System::Int8 CV_ARRAY = System::Int8(0x2);
static const System::Int8 CV_GLCM_OPTIMIZATION_NONE = System::Int8(-2);
static const System::Int8 CV_GLCM_OPTIMIZATION_LUT = System::Int8(-1);
static const System::Int8 CV_GLCM_OPTIMIZATION_HISTOGRAM = System::Int8(0x0);
static const System::Int8 CV_GLCMDESC_OPTIMIZATION_ALLOWDOUBLENEST = System::Int8(0xa);
static const System::Int8 CV_GLCMDESC_OPTIMIZATION_ALLOWTRIPLENEST = System::Int8(0xb);
static const System::Int8 CV_GLCMDESC_OPTIMIZATION_HISTOGRAM = System::Int8(0x4);
static const System::Int8 CV_GLCMDESC_ENTROPY = System::Int8(0x0);
static const System::Int8 CV_GLCMDESC_ENERGY = System::Int8(0x1);
static const System::Int8 CV_GLCMDESC_HOMOGENITY = System::Int8(0x2);
static const System::Int8 CV_GLCMDESC_CONTRAST = System::Int8(0x3);
static const System::Int8 CV_GLCMDESC_CLUSTERTENDENCY = System::Int8(0x4);
static const System::Int8 CV_GLCMDESC_CLUSTERSHADE = System::Int8(0x5);
static const System::Int8 CV_GLCMDESC_CORRELATION = System::Int8(0x6);
static const System::Int8 CV_GLCMDESC_CORRELATIONINFO1 = System::Int8(0x7);
static const System::Int8 CV_GLCMDESC_CORRELATIONINFO2 = System::Int8(0x8);
static const System::Int8 CV_GLCMDESC_MAXIMUMPROBABILITY = System::Int8(0x9);
static const System::Int8 CV_GLCM_ALL = System::Int8(0x0);
static const System::Int8 CV_GLCM_GLCM = System::Int8(0x1);
static const System::Int8 CV_GLCM_DESC = System::Int8(0x2);
static const System::Int8 CV_PTLOC_ERROR = System::Int8(-2);
static const System::Int8 CV_PTLOC_OUTSIDE_RECT = System::Int8(-1);
static const System::Int8 CV_PTLOC_INSIDE = System::Int8(0x0);
static const System::Int8 CV_PTLOC_VERTEX = System::Int8(0x1);
static const System::Int8 CV_PTLOC_ON_EDGE = System::Int8(0x2);
static const System::Int8 CV_NEXT_AROUND_ORG = System::Int8(0x0);
static const System::Int8 CV_NEXT_AROUND_DST = System::Int8(0x22);
static const System::Int8 CV_PREV_AROUND_ORG = System::Int8(0x11);
static const System::Int8 CV_PREV_AROUND_DST = System::Int8(0x33);
static const System::Int8 CV_NEXT_AROUND_LEFT = System::Int8(0x13);
static const System::Int8 CV_NEXT_AROUND_RIGHT = System::Int8(0x31);
static const System::Int8 CV_PREV_AROUND_LEFT = System::Int8(0x20);
static const System::Int8 CV_PREV_AROUND_RIGHT = System::Int8(0x2);
static const System::Int8 CV_BG_MODEL_FGD = System::Int8(0x0);
static const System::Int8 CV_BG_MODEL_MOG = System::Int8(0x1);
static const System::Int8 CV_BG_MODEL_FGD_SIMPLE = System::Int8(0x2);
static const System::Byte CV_BGFG_FGD_LC = System::Byte(0x80);
static const System::Int8 CV_BGFG_FGD_N1C = System::Int8(0xf);
static const System::Int8 CV_BGFG_FGD_N2C = System::Int8(0x19);
static const System::Int8 CV_BGFG_FGD_LCC = System::Int8(0x40);
static const System::Int8 CV_BGFG_FGD_N1CC = System::Int8(0x19);
static const System::Int8 CV_BGFG_FGD_N2CC = System::Int8(0x28);
#define CV_BGFG_FGD_ALPHA_1  (1.000000E-01)
#define CV_BGFG_FGD_ALPHA_2  (5.000000E-03)
#define CV_BGFG_FGD_ALPHA_3  (1.000000E-01)
static const System::Int8 CV_BGFG_FGD_DELTA = System::Int8(0x2);
#define CV_BGFG_FGD_T  (9.000000E-01)
static const System::Int8 CV_BGFG_FGD_MINAREA = System::Int8(0xf);
#define CV_BGFG_FGD_BG_UPDATE_TRESH  (5.000000E-01)
static const System::Word CV_BGFG_MOG_MAX_NGAUSSIANS = System::Word(0x1f4);
#define CV_BGFG_MOG_BACKGROUND_THRESHOLD  (7.000000E-01)
#define CV_BGFG_MOG_STD_THRESHOLD  (2.500000E+00)
static const System::Byte CV_BGFG_MOG_WINDOW_SIZE = System::Byte(0xc8);
static const System::Int8 CV_BGFG_MOG_NGAUSSIANS = System::Int8(0x5);
#define CV_BGFG_MOG_WEIGHT_INIT  (5.000000E-02)
static const System::Int8 CV_BGFG_MOG_SIGMA_INIT = System::Int8(0x1e);
static const System::Int8 CV_BGFG_MOG_MINAREA = System::Int8(0xf);
static const System::Int8 CV_BGFG_MOG_NCOLORS = System::Int8(0x3);
static const System::Word CV_UNDEF_SC_PARAM = System::Word(0x3039);
static const System::Int8 CV_IDP_BIRCHFIELD_PARAM1 = System::Int8(0x19);
static const System::Int8 CV_IDP_BIRCHFIELD_PARAM2 = System::Int8(0x5);
static const System::Int8 CV_IDP_BIRCHFIELD_PARAM3 = System::Int8(0xc);
static const System::Int8 CV_IDP_BIRCHFIELD_PARAM4 = System::Int8(0xf);
static const System::Int8 CV_IDP_BIRCHFIELD_PARAM5 = System::Int8(0x19);
static const System::Int8 CV_DISPARITY_BIRCHFIELD = System::Int8(0x0);
static const System::Int8 CV_CONTOUR_TREES_MATCH_I1 = System::Int8(0x1);
extern DELPHI_PACKAGE Ocv::Imgproc::Types_c::pCvSubdiv2DPoint __fastcall cvSubdiv2DEdgeOrg(NativeUInt edge);
extern DELPHI_PACKAGE Ocv::Imgproc::Types_c::pCvSubdiv2DPoint __fastcall cvSubdiv2DEdgeDst(NativeUInt edge);
extern DELPHI_PACKAGE NativeUInt __fastcall cvSubdiv2DGetEdge(NativeUInt edge, int _type);
extern DELPHI_PACKAGE NativeUInt __fastcall cvSubdiv2DRotateEdge(NativeUInt edge, int rotate);
extern "C" pCvStereoGCState __cdecl cvCreateStereoGCState(int numberOfDisparities, int maxIters);
extern "C" void __cdecl cvFindStereoCorrespondenceGC(const Ocv::Core::Types_c::pIplImage left, const Ocv::Core::Types_c::pIplImage right, Ocv::Core::Types_c::pCvMat disparityLeft, Ocv::Core::Types_c::pCvMat disparityRight, pCvStereoGCState state, int useDisparityGuess = 0x0);
extern "C" void __cdecl cvReleaseStereoGCState(pCvStereoGCState &state);
extern "C" void __cdecl cvSnakeImage(const Ocv::Core::Types_c::pIplImage image, Ocv::Core::Types_c::pCvPointArray points, int length, System::PSingle alpha, System::PSingle beta, System::PSingle gamma, int coeff_usage, const Ocv::Core::Types_c::TCvSize win, const Ocv::Core::Types_c::TCvTermCriteria criteria, int calc_gradient = 0x1);
extern "C" Ocv::Imgproc::Types_c::pCvSubdiv2D __cdecl cvCreateSubdiv2D(int subdiv_type, int header_size, int vtx_size, int quadedge_size, Ocv::Core::Types_c::pCvMemStorage storage);
extern "C" void __cdecl cvInitSubdivDelaunay2D(Ocv::Imgproc::Types_c::pCvSubdiv2D subdiv, const Ocv::Core::Types_c::TCvRect rect);
extern "C" int __cdecl cvSubdiv2DLocate(Ocv::Imgproc::Types_c::pCvSubdiv2D subdiv, const Ocv::Core::Types_c::TCvPoint2D32f pt, pCvSubdiv2DEdge edge, Ocv::Imgproc::Types_c::pCvSubdiv2DPoint vertex = (Ocv::Imgproc::Types_c::pCvSubdiv2DPoint)(0x0));
extern "C" void __cdecl cvCalcSubdivVoronoi2D(Ocv::Imgproc::Types_c::pCvSubdiv2D subdiv);
extern "C" Ocv::Imgproc::Types_c::pCvSubdiv2DPoint __cdecl cvSubdivDelaunay2DInsert(Ocv::Imgproc::Types_c::pCvSubdiv2D subdiv, const Ocv::Core::Types_c::TCvPoint2D32f pt);
extern "C" pCvBGStatModel __cdecl cvCreateGaussianBGModel(Ocv::Core::Types_c::pIplImage first_frame, pCvGaussBGStatModelParams parameters = (pCvGaussBGStatModelParams)(0x0));
extern "C" int __cdecl cvUpdateBGStatModel(Ocv::Core::Types_c::pIplImage current_frame, pCvBGStatModel bg_model, double learningRate = -1.000000E+00);
extern "C" void __cdecl cvReleaseBGStatModel(pCvBGStatModel &bg_model);
extern "C" pCvBGStatModel __cdecl cvCreateFGDStatModel(Ocv::Core::Types_c::pIplImage first_frame, pCvFGDStatModelParams parameters = (pCvFGDStatModelParams)(0x0));
extern "C" pCvBGCodeBookModel __cdecl cvCreateBGCodeBookModel(void);
extern "C" void __cdecl cvReleaseBGCodeBookModel(pCvBGCodeBookModel model);
extern "C" void __cdecl cvBGCodeBookUpdate(pCvBGCodeBookModel model, const Ocv::Core::Types_c::pIplImage image, const Ocv::Core::Types_c::TCvRect roi, const void * mask);
extern "C" int __cdecl cvBGCodeBookDiff(const pCvBGCodeBookModel model, const void * image, void * fgmask, const Ocv::Core::Types_c::TCvRect roi);
extern "C" void __cdecl cvBGCodeBookClearStale(pCvBGCodeBookModel model, int staleThresh, const Ocv::Core::Types_c::TCvRect roi, const void * mask = (void *)(0x0));
extern "C" Ocv::Core::Types_c::pCvSeq __cdecl cvSegmentFGMask(void * fgmask, int poly1Hull0, float perimScale, Ocv::Core::Types_c::pCvMemStorage storage, const Ocv::Core::Types_c::TCvPoint offset);
extern "C" void __cdecl cvPyrSegmentation(Ocv::Core::Types_c::pIplImage src, Ocv::Core::Types_c::pIplImage dst, Ocv::Core::Types_c::pCvMemStorage storage, Ocv::Core::Types_c::pCvSeq &comp, int level, double threshold1, double threshold2);
extern "C" Ocv::Core::Types_c::pCvSeq __cdecl cvFindDominantPoints(Ocv::Core::Types_c::pCvSeq contour, Ocv::Core::Types_c::pCvMemStorage storage, int method = 0x1, double parameter1 = 0.000000E+00, double parameter2 = 0.000000E+00, double parameter3 = 0.000000E+00, double parameter4 = 0.000000E+00);
extern "C" void __cdecl cvFindStereoCorrespondence(const void * leftImage, const void * rightImage, int mode, void * dispImage, int maxDisparity, double param1 = 1.234500E+04, double param2 = 1.234500E+04, double param3 = 1.234500E+04, double param4 = 1.234500E+04, double param5 = 1.234500E+04);
extern "C" int __cdecl icvConvertWarpCoordinates(const TicvConvertWarpCoordinatesCoeff &coeffs, Ocv::Core::Types_c::pCvPoint2D32f cameraPoint, Ocv::Core::Types_c::pCvPoint2D32f warpPoint, int direction);
extern "C" int __cdecl icvGetSymPoint3D(const Ocv::Core::Types_c::TCvPoint3D64f pointCorner, const Ocv::Core::Types_c::TCvPoint3D64f point1, const Ocv::Core::Types_c::TCvPoint3D64f point2, Ocv::Core::Types_c::pCvPoint3D64f pointSym2);
extern "C" void __cdecl icvGetPieceLength3D(const Ocv::Core::Types_c::TCvPoint3D64f point1, const Ocv::Core::Types_c::TCvPoint3D64f point2, System::PDouble dist);
extern "C" int __cdecl icvCompute3DPoint(double alpha, double betta, pCvStereoLineCoeff coeffs, Ocv::Core::Types_c::pCvPoint3D64f point);
extern "C" int __cdecl icvCreateConvertMatrVect(System::PDouble rotMatr1, System::PDouble transVect1, System::PDouble rotMatr2, System::PDouble transVect2, System::PDouble convRotMatr, System::PDouble convTransVect);
extern "C" int __cdecl icvConvertPointSystem(const Ocv::Core::Types_c::TCvPoint3D64f M2, Ocv::Core::Types_c::pCvPoint3D64f M1, System::PDouble rotMatr, System::PDouble transVect);
extern "C" int __cdecl icvComputeCoeffForStereo(pCvStereoCamera stereoCamera);
extern "C" int __cdecl icvGetCrossPieceVector(const Ocv::Core::Types_c::TCvPoint2D32f p1_start, const Ocv::Core::Types_c::TCvPoint2D32f p1_end, const Ocv::Core::Types_c::TCvPoint2D32f v2_start, const Ocv::Core::Types_c::TCvPoint2D32f v2_end, Ocv::Core::Types_c::pCvPoint2D32f cross);
extern "C" int __cdecl icvGetCrossLineDirect(const Ocv::Core::Types_c::TCvPoint2D32f p1, const Ocv::Core::Types_c::TCvPoint2D32f p2, float a, float b, float c, Ocv::Core::Types_c::pCvPoint2D32f cross);
extern "C" float __cdecl icvDefinePointPosition(const Ocv::Core::Types_c::TCvPoint2D32f point1, const Ocv::Core::Types_c::TCvPoint2D32f point2, const Ocv::Core::Types_c::TCvPoint2D32f point);
extern "C" int __cdecl icvStereoCalibration(int numImages, System::PInteger nums, const Ocv::Core::Types_c::TCvSize imageSize, Ocv::Core::Types_c::pCvPoint2D32f imagePoints1, Ocv::Core::Types_c::pCvPoint2D32f imagePoints2, Ocv::Core::Types_c::pCvPoint3D32f objectPoints, pCvStereoCamera stereoparams);
extern "C" int __cdecl icvComputeRestStereoParams(pCvStereoCamera stereoparams);
extern "C" void __cdecl cvComputePerspectiveMap(const TicvConvertWarpCoordinatesCoeff &coeffs, void * rectMapX, void * rectMapY);
extern "C" int __cdecl icvComCoeffForLine(const Ocv::Core::Types_c::TCvPoint2D64f point1, const Ocv::Core::Types_c::TCvPoint2D64f point2, const Ocv::Core::Types_c::TCvPoint2D64f point3, const Ocv::Core::Types_c::TCvPoint2D64f point4, System::PDouble camMatr1, System::PDouble rotMatr1, System::PDouble transVect1, System::PDouble camMatr2, System::PDouble rotMatr2, System::PDouble transVect2, pCvStereoLineCoeff coeffs, System::PInteger needSwapCameras);
extern "C" int __cdecl icvGetDirectionForPoint(const Ocv::Core::Types_c::TCvPoint2D64f point, System::PDouble camMatr, Ocv::Core::Types_c::pCvPoint3D64f direct);
extern "C" int __cdecl icvGetCrossLines(const Ocv::Core::Types_c::TCvPoint3D64f point11, const Ocv::Core::Types_c::TCvPoint3D64f point12, const Ocv::Core::Types_c::TCvPoint3D64f point21, const Ocv::Core::Types_c::TCvPoint3D64f point22, Ocv::Core::Types_c::pCvPoint3D64f midPoint);
extern "C" int __cdecl icvComputeStereoLineCoeffs(const Ocv::Core::Types_c::TCvPoint3D64f pointA, const Ocv::Core::Types_c::TCvPoint3D64f pointB, const Ocv::Core::Types_c::TCvPoint3D64f pointCam1, double gamma, pCvStereoLineCoeff coeffs);
extern "C" int __cdecl icvGetAngleLine(const Ocv::Core::Types_c::TCvPoint2D64f startPoint, const Ocv::Core::Types_c::TCvSize imageSize, Ocv::Core::Types_c::pCvPoint2D64f point1, Ocv::Core::Types_c::pCvPoint2D64f point2);
extern "C" void __cdecl icvGetCoefForPiece(const Ocv::Core::Types_c::TCvPoint2D64f p_start, const Ocv::Core::Types_c::TCvPoint2D64f p_end, System::PDouble a, System::PDouble b, System::PDouble c, System::PInteger result);
extern "C" void __cdecl icvComputeeInfiniteProject1(System::PDouble rotMatr, System::PDouble camMatr1, System::PDouble camMatr2, const Ocv::Core::Types_c::TCvPoint2D32f point1, Ocv::Core::Types_c::pCvPoint2D32f point2);
extern "C" void __cdecl icvComputeeInfiniteProject2(System::PDouble rotMatr, System::PDouble camMatr1, System::PDouble camMatr2, Ocv::Core::Types_c::pCvPoint2D32f point1, const Ocv::Core::Types_c::TCvPoint2D32f point2);
extern "C" void __cdecl icvGetCrossDirectDirect(System::PDouble direct1, System::PDouble direct2, Ocv::Core::Types_c::pCvPoint2D64f cross, System::PInteger result);
extern "C" void __cdecl icvGetCrossPieceDirect(const Ocv::Core::Types_c::TCvPoint2D64f p_start, const Ocv::Core::Types_c::TCvPoint2D64f p_end, double a, double b, double c, Ocv::Core::Types_c::pCvPoint2D64f cross, System::PInteger result);
extern "C" void __cdecl icvGetCrossPiecePiece(const Ocv::Core::Types_c::TCvPoint2D64f p1_start, const Ocv::Core::Types_c::TCvPoint2D64f p1_end, const Ocv::Core::Types_c::TCvPoint2D64f p2_start, const Ocv::Core::Types_c::TCvPoint2D64f p2_end, Ocv::Core::Types_c::pCvPoint2D64f cross, System::PInteger result);
extern "C" void __cdecl icvGetPieceLength(const Ocv::Core::Types_c::TCvPoint2D64f point1, const Ocv::Core::Types_c::TCvPoint2D64f point2, System::PDouble dist);
extern "C" void __cdecl icvGetCrossRectDirect(const Ocv::Core::Types_c::TCvSize imageSize, double a, double b, double c, Ocv::Core::Types_c::pCvPoint2D64f start, Ocv::Core::Types_c::pCvPoint2D64f end_, System::PInteger result);
extern "C" void __cdecl icvProjectPointToImage(const Ocv::Core::Types_c::TCvPoint3D64f point, System::PDouble camMatr, System::PDouble rotMatr, System::PDouble transVect, Ocv::Core::Types_c::pCvPoint2D64f projPoint);
extern "C" void __cdecl icvGetQuadsTransform(const Ocv::Core::Types_c::TCvSize imageSize, System::PDouble camMatr1, System::PDouble rotMatr1, System::PDouble transVect1, System::PDouble camMatr2, System::PDouble rotMatr2, System::PDouble transVect2, Ocv::Core::Types_c::pCvSize warpSize, const TicvGetQuadsTransformQuad &quad1, const TicvGetQuadsTransformQuad &quad2, System::PDouble fundMatr, Ocv::Core::Types_c::pCvPoint3D64f epipole1, Ocv::Core::Types_c::pCvPoint3D64f epipole2);
extern "C" void __cdecl icvGetQuadsTransformStruct(pCvStereoCamera stereoCamera);
extern "C" void __cdecl icvComputeStereoParamsForCameras(pCvStereoCamera stereoCamera);
extern "C" void __cdecl icvGetCutPiece(System::PDouble areaLineCoef1, System::PDouble areaLineCoef2, const Ocv::Core::Types_c::TCvPoint2D64f epipole, const Ocv::Core::Types_c::TCvSize imageSize, Ocv::Core::Types_c::pCvPoint2D64f point11, Ocv::Core::Types_c::pCvPoint2D64f point12, Ocv::Core::Types_c::pCvPoint2D64f point21, Ocv::Core::Types_c::pCvPoint2D64f point22, System::PInteger result);
extern "C" void __cdecl icvGetMiddleAnglePoint(const Ocv::Core::Types_c::TCvPoint2D64f basePoint, const Ocv::Core::Types_c::TCvPoint2D64f point1, const Ocv::Core::Types_c::TCvPoint2D64f point2, Ocv::Core::Types_c::pCvPoint2D64f midPoint);
extern "C" void __cdecl icvGetNormalDirect(System::PDouble direct, const Ocv::Core::Types_c::TCvPoint2D64f point, System::PDouble normDirect);
extern "C" double __cdecl icvGetVect(const Ocv::Core::Types_c::TCvPoint2D64f basePoint, const Ocv::Core::Types_c::TCvPoint2D64f point1, const Ocv::Core::Types_c::TCvPoint2D64f point2);
extern "C" void __cdecl icvProjectPointToDirect(const Ocv::Core::Types_c::TCvPoint2D64f point, System::PDouble lineCoeff, Ocv::Core::Types_c::pCvPoint2D64f projectPoint);
extern "C" Ocv::Core::Types_c::pIplImage __cdecl icvCreateIsometricImage(Ocv::Core::Types_c::pIplImage src, Ocv::Core::Types_c::pIplImage dst, int desired_depth, int desired_num_channels);
extern "C" void __cdecl cvDeInterlace(const void * frame, void * fieldEven, void * fieldOdd);
extern "C" pCvContourTree __cdecl cvCreateContourTree(const Ocv::Core::Types_c::pCvSeq contour, Ocv::Core::Types_c::pCvMemStorage storage, double threshold);
extern "C" Ocv::Core::Types_c::pCvSeq __cdecl cvContourFromContourTree(const pCvContourTree tree, Ocv::Core::Types_c::pCvMemStorage storage, const Ocv::Core::Types_c::TCvTermCriteria criteria);
extern "C" double __cdecl cvMatchContourTrees(const pCvContourTree tree1, const pCvContourTree tree2, int method, double threshold);
extern "C" Ocv::Core::Types_c::pCvSeq __cdecl cvCalcContoursCorrespondence(const Ocv::Core::Types_c::pCvSeq contour1, const Ocv::Core::Types_c::pCvSeq contour2, Ocv::Core::Types_c::pCvMemStorage storage);
extern "C" Ocv::Core::Types_c::pCvSeq __cdecl cvMorphContours(const Ocv::Core::Types_c::pCvSeq contour1, const Ocv::Core::Types_c::pCvSeq contour2, Ocv::Core::Types_c::pCvSeq corr, double alpha, Ocv::Core::Types_c::pCvMemStorage storage);
extern "C" pCvGLCM __cdecl cvCreateGLCM(const Ocv::Core::Types_c::pIplImage srcImage, int stepMagnitude, const System::PInteger stepDirections = (System::PInteger)(0x0), int numStepDirections = 0x0, int optimizationType = 0xfffffffe);
extern "C" void __cdecl cvReleaseGLCM(pCvGLCM &GLCM, int flag = 0x0);
extern "C" void __cdecl cvCreateGLCMDescriptors(pCvGLCM destGLCM, int descriptorOptimizationType = 0xa);
extern "C" double __cdecl cvGetGLCMDescriptor(pCvGLCM GLCM, int step, int descriptor);
extern "C" void __cdecl cvGetGLCMDescriptorStatistics(pCvGLCM GLCM, int descriptor, System::PDouble average, System::PDouble standardDeviation);
extern "C" Ocv::Core::Types_c::pIplImage __cdecl cvCreateGLCMImage(pCvGLCM GLCM, int step);
extern "C" pCvFaceTracker __cdecl cvInitFaceTracker(pCvFaceTracker pFaceTracking, const Ocv::Core::Types_c::pIplImage imgGray, Ocv::Core::Types_c::pCvRect pRects, int nRects);
extern "C" int __cdecl cvTrackFace(pCvFaceTracker pFaceTracker, Ocv::Core::Types_c::pIplImage imgGray, Ocv::Core::Types_c::pCvRect pRects, int nRects, Ocv::Core::Types_c::pCvPoint ptRotate, System::PDouble dbAngleRotate);
extern "C" void __cdecl cvReleaseFaceTracker(pCvFaceTracker &ppFaceTracker);
extern "C" Ocv::Core::Types_c::pCvSeq __cdecl cvFindFace(Ocv::Core::Types_c::pIplImage image, Ocv::Core::Types_c::pCvMemStorage storage);
extern "C" Ocv::Core::Types_c::pCvSeq __cdecl cvPostBoostingFindFace(Ocv::Core::Types_c::pIplImage image, Ocv::Core::Types_c::pCvMemStorage storage);
extern "C" int __cdecl cvVoronoiDiagramFromContour(Ocv::Core::Types_c::pCvSeq ContourSeq, pCvVoronoiDiagram2D &VoronoiDiagram, Ocv::Core::Types_c::pCvMemStorage VoronoiStorage, TCvLeeParameters contour_type = (TCvLeeParameters)(0x0), int contour_orientation = 0xffffffff, int attempt_number = 0xa);
extern "C" int __cdecl cvVoronoiDiagramFromImage(Ocv::Core::Types_c::pIplImage pImage, Ocv::Core::Types_c::pCvSeq &ContourSeq, pCvVoronoiDiagram2D &VoronoiDiagram, Ocv::Core::Types_c::pCvMemStorage VoronoiStorage, TCvLeeParameters regularization_method = (TCvLeeParameters)(0x2), float approx_precision = -1.000000E+00f);
extern "C" void __cdecl cvReleaseVoronoiStorage(pCvVoronoiDiagram2D VoronoiDiagram, Ocv::Core::Types_c::pCvMemStorage &pVoronoiStorage);
extern "C" Ocv::Core::Types_c::pCvGraph __cdecl cvLinearContorModelFromVoronoiDiagram(pCvVoronoiDiagram2D VoronoiDiagram, float maxWidth);
extern "C" int __cdecl cvReleaseLinearContorModelStorage(Ocv::Core::Types_c::pCvGraph &Graph);
extern "C" void __cdecl cvInitPerspectiveTransform(const Ocv::Core::Types_c::TCvSize size, const TcvInitPerspectiveTransformVertex &vertex, const TcvInitPerspectiveTransformMatrix &matrix, void * rectMap);
extern "C" void __cdecl cvMakeScanlines(const pCvMatrix3 matrix, const Ocv::Core::Types_c::TCvSize img_size, System::PInteger scanlines1, System::PInteger scanlines2, System::PInteger lengths1, System::PInteger lengths2, System::PInteger line_count);
extern "C" void __cdecl cvPreWarpImage(int line_count, Ocv::Core::Types_c::pIplImage img, System::PByte dst, System::PInteger dst_nums, System::PInteger scanlines);
extern "C" void __cdecl cvFindRuns(int line_count, System::PByte prewarp1, System::PByte prewarp2, System::PInteger line_lengths1, System::PInteger line_lengths2, System::PInteger runs1, System::PInteger runs2, System::PInteger num_runs1, System::PInteger num_runs2);
extern "C" void __cdecl cvDynamicCorrespondMulti(int line_count, System::PInteger first, System::PInteger first_runs, System::PInteger second, System::PInteger second_runs, System::PInteger first_corr, System::PInteger second_corr);
extern "C" void __cdecl cvMakeAlphaScanlines(System::PInteger scanlines1, System::PInteger scanlines2, System::PInteger scanlinesA, System::PInteger lengths, int line_count, float alpha);
extern "C" void __cdecl cvMorphEpilinesMulti(int line_count, System::PByte first_pix, System::PInteger first_num, System::PByte second_pix, System::PInteger second_num, System::PByte dst_pix, System::PInteger dst_num, float alpha, System::PInteger first, System::PInteger first_runs, System::PInteger second, System::PInteger second_runs, System::PInteger first_corr, System::PInteger second_corr);
extern "C" void __cdecl cvPostWarpImage(int line_count, System::PByte src, System::PInteger src_nums, Ocv::Core::Types_c::pIplImage img, System::PInteger scanlines);
extern "C" void __cdecl cvDeleteMoire(Ocv::Core::Types_c::pIplImage img);
extern "C" pCvConDensation __cdecl cvCreateConDensation(int dynam_params, int measure_params, int sample_count);
extern "C" void __cdecl cvReleaseConDensation(pCvConDensation &condens);
extern "C" void __cdecl cvConDensUpdateByTime(pCvConDensation condens);
extern "C" void __cdecl cvConDensInitSampleSet(pCvConDensation condens, Ocv::Core::Types_c::pCvMat lower_bound, Ocv::Core::Types_c::pCvMat upper_bound);
extern "C" void __cdecl cvClearSubdivVoronoi2D(Ocv::Imgproc::Types_c::pCvSubdiv2D subdiv);
extern "C" Ocv::Imgproc::Types_c::pCvSubdiv2DPoint __cdecl cvFindNearestPoint2D(Ocv::Imgproc::Types_c::pCvSubdiv2D subdiv, const Ocv::Core::Types_c::TCvPoint2D32f pt);
extern "C" void __cdecl icvDrawMosaic(Ocv::Imgproc::Types_c::pCvSubdiv2D subdiv, Ocv::Core::Types_c::pIplImage src, Ocv::Core::Types_c::pIplImage dst);
extern "C" int __cdecl icvSubdiv2DCheck(Ocv::Imgproc::Types_c::pCvSubdiv2D subdiv);
extern "C" Ocv::Imgproc::Types_c::pCvFeatureTree __cdecl cvCreateKDTree(Ocv::Core::Types_c::pCvMat desc);
extern "C" Ocv::Imgproc::Types_c::pCvFeatureTree __cdecl cvCreateSpillTree(const Ocv::Core::Types_c::pCvMat raw_data, const int naive = 0x32, const double rho = 7.000000E-01, const double tau = 1.000000E-01);
extern "C" void __cdecl cvReleaseFeatureTree(Ocv::Imgproc::Types_c::pCvFeatureTree tr);
extern "C" void __cdecl cvFindFeatures(Ocv::Imgproc::Types_c::pCvFeatureTree tr, const Ocv::Core::Types_c::pCvMat query_points, Ocv::Core::Types_c::pCvMat indices, Ocv::Core::Types_c::pCvMat dist, int K, int emax = 0x14);
extern "C" int __cdecl cvFindFeaturesBoxed(Ocv::Imgproc::Types_c::pCvFeatureTree tr, Ocv::Core::Types_c::pCvMat bounds_min, Ocv::Core::Types_c::pCvMat bounds_max, Ocv::Core::Types_c::pCvMat out_indices);
extern "C" Ocv::Imgproc::Types_c::pCvLSH __cdecl cvCreateLSH(Ocv::Imgproc::Types_c::pCvLSHOperations ops, int d, int L, int K, int type_, double r, __int64 seed);
extern "C" Ocv::Imgproc::Types_c::pCvLSH __cdecl cvCreateMemoryLSH(int d, int n, int L, int K, int type_, double r, __int64 seed);
extern "C" void __cdecl cvReleaseLSH(Ocv::Imgproc::Types_c::pCvLSH lsh);
extern "C" NativeUInt __cdecl LSHSize(Ocv::Imgproc::Types_c::pCvLSH lsh);
extern "C" void __cdecl cvLSHAdd(Ocv::Imgproc::Types_c::pCvLSH lsh, const Ocv::Core::Types_c::pCvMat data, Ocv::Core::Types_c::pCvMat indices = (Ocv::Core::Types_c::pCvMat)(0x0));
extern "C" void __cdecl cvLSHRemove(Ocv::Imgproc::Types_c::pCvLSH lsh, const Ocv::Core::Types_c::pCvMat indices);
extern "C" void __cdecl cvLSHQuery(Ocv::Imgproc::Types_c::pCvLSH lsh, const Ocv::Core::Types_c::pCvMat query_points, Ocv::Core::Types_c::pCvMat indices, Ocv::Core::Types_c::pCvMat dist, int K, int emax);
extern "C" void __cdecl cvCalcOpticalFlowLK(const void * prev, const void * curr, const Ocv::Core::Types_c::TCvSize win_size, void * velx, void * vely);
extern "C" void __cdecl cvCalcOpticalFlowBM(const void * prev, const void * curr, const Ocv::Core::Types_c::TCvSize block_size, const Ocv::Core::Types_c::TCvSize shift_size, const Ocv::Core::Types_c::TCvSize max_range, int use_previous, void * velx, void * vely);
extern "C" void __cdecl cvCalcOpticalFlowHS(const void * prev, const void * curr, int use_previous, void * velx, void * vely, double lambda, const Ocv::Core::Types_c::TCvTermCriteria criteria);
extern "C" void __cdecl cvRefineForegroundMaskBySegm(Ocv::Core::Types_c::pCvSeq segments, pCvBGStatModel bg_model);
extern "C" int __cdecl cvChangeDetection(Ocv::Core::Types_c::pIplImage prev_frame, Ocv::Core::Types_c::pIplImage curr_frame, Ocv::Core::Types_c::pIplImage change_mask);
}	/* namespace Legacy */
}	/* namespace Ocv */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_OCV_LEGACY)
using namespace Ocv::Legacy;
#endif
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_OCV)
using namespace Ocv;
#endif
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Ocv_LegacyHPP
